<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MuldeR&#39;s Utilities for Qt: MUtils::OS Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MuldeR&#39;s Utilities for Qt
   </div>
   <div id="projectbrief">MUtilities</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../d3/da6/namespace_m_utils.html">MUtils</a></li><li class="navelem"><a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html">OS</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">MUtils::OS Namespace Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="../../d3/da6/namespace_m_utils.html" title="Global MUtils namespace. ">MUtils</a> OS-specific functions namespace.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d1/d7d/namespace_m_utils_1_1_o_s_1_1_version"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d7d/namespace_m_utils_1_1_o_s_1_1_version.html">Version</a></td></tr>
<tr class="memdesc:d1/d7d/namespace_m_utils_1_1_o_s_1_1_version"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html" title="MUtils OS-specific functions namespace. ">OS</a> version information namespace. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:acecb02a060e3fca4aee2581bc4a8f87f"><td class="memItemLeft" align="right" valign="top"><a id="acecb02a060e3fca4aee2581bc4a8f87f"></a>
typedef QMap&lt; QString, QString &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ArgumentMap</b></td></tr>
<tr class="separator:acecb02a060e3fca4aee2581bc4a8f87f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4afb904fa6e5877789ef2f2ff255a26a"><td class="memItemLeft" align="right" valign="top"><a id="a4afb904fa6e5877789ef2f2ff255a26a"></a>
typedef bool(*&#160;</td><td class="memItemRight" valign="bottom"><b>progress_callback_t</b>) (const double &amp;progress, void *const userData)</td></tr>
<tr class="separator:a4afb904fa6e5877789ef2f2ff255a26a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a62a1b72ba9a7accee438d19212785e54"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a62a1b72ba9a7accee438d19212785e54">known_folder_t</a> { <a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a62a1b72ba9a7accee438d19212785e54a0fb64b1e975f9ff0cc97df6e3b7f8110">FOLDER_LOCALAPPDATA</a> = 0, 
<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a62a1b72ba9a7accee438d19212785e54abb6f5bd0b6564b2f093f5a2d1c055183">FOLDER_PROGRAMFILES</a> = 2, 
<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a62a1b72ba9a7accee438d19212785e54a7c25655022efd34417acfaa11f8491b3">FOLDER_SYSTEMFOLDER</a> = 3, 
<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a62a1b72ba9a7accee438d19212785e54af32b4c27ec428ad2bf69d8c8802de21c">FOLDER_SYSTROOT_DIR</a> = 4
 }<tr class="memdesc:a62a1b72ba9a7accee438d19212785e54"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enumeration specifies "known" folder identifiers.  <a href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a62a1b72ba9a7accee438d19212785e54">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a62a1b72ba9a7accee438d19212785e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0005b2a3f0289c1078c9cc8ba5ccba45"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a0005b2a3f0289c1078c9cc8ba5ccba45">network_type_t</a> { <a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a0005b2a3f0289c1078c9cc8ba5ccba45af3ce4c3003fa7cc9e3b774669b8ab6e9">NETWORK_TYPE_ERR</a> = 0, 
<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a0005b2a3f0289c1078c9cc8ba5ccba45ab81e893484ac0d201a9f54e2af0563dc">NETWORK_TYPE_NON</a> = 1, 
<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a0005b2a3f0289c1078c9cc8ba5ccba45a9ed5ecd6b286fa5ec2e23e652dac8769">NETWORK_TYPE_YES</a> = 2
 }<tr class="memdesc:a0005b2a3f0289c1078c9cc8ba5ccba45"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enumeration specifies network connection types.  <a href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a0005b2a3f0289c1078c9cc8ba5ccba45">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a0005b2a3f0289c1078c9cc8ba5ccba45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8d3f37b0e9c3b73dfcf7d1f237d480c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480c">drive_type_t</a> { <br />
&#160;&#160;<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480ca56b9d51a60c9df7d4ec47e917218b153">DRIVE_TYPE_ERR</a> = 0, 
<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480ca244c1b3fa78d134bf18cc39fb0cc0877">DRIVE_TYPE_FDD</a> = 1, 
<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480ca14a1e51fa7603f7970ce94fdaf658f45">DRIVE_TYPE_HDD</a> = 2, 
<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480caf4b8f61bae5c8602e2f1e68ef88f06a2">DRIVE_TYPE_NET</a> = 3, 
<br />
&#160;&#160;<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480cab4fa63f34e252cce2176d51b36f0c827">DRIVE_TYPE_OPT</a> = 4, 
<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480ca42b280153a22e6af73fe7edfbbaee69b">DRIVE_TYPE_RAM</a> = 5
<br />
 }<tr class="memdesc:af8d3f37b0e9c3b73dfcf7d1f237d480c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enumeration specifies drive types.  <a href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480c">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:af8d3f37b0e9c3b73dfcf7d1f237d480c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a877cc1e40b0115d1a628d987afc9c392"><td class="memItemLeft" align="right" valign="top"><a id="a877cc1e40b0115d1a628d987afc9c392"></a>
MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><b>system_message_nfo</b> (const wchar_t *const title, const wchar_t *const text)</td></tr>
<tr class="separator:a877cc1e40b0115d1a628d987afc9c392"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54a7af2aaa8f98ff7458093886b504d5"><td class="memItemLeft" align="right" valign="top"><a id="a54a7af2aaa8f98ff7458093886b504d5"></a>
MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><b>system_message_wrn</b> (const wchar_t *const title, const wchar_t *const text)</td></tr>
<tr class="separator:a54a7af2aaa8f98ff7458093886b504d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accb5c7b1d768bf109577a497f735abc9"><td class="memItemLeft" align="right" valign="top"><a id="accb5c7b1d768bf109577a497f735abc9"></a>
MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><b>system_message_err</b> (const wchar_t *const title, const wchar_t *const text)</td></tr>
<tr class="separator:accb5c7b1d768bf109577a497f735abc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4203b939dc99c426a833bb8e2448327d"><td class="memItemLeft" align="right" valign="top"><a id="a4203b939dc99c426a833bb8e2448327d"></a>
MUTILS_API const QStringList&#160;</td><td class="memItemRight" valign="bottom"><b>crack_command_line</b> (const QString &amp;command_line=QString())</td></tr>
<tr class="separator:a4203b939dc99c426a833bb8e2448327d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a011be36679bd1704b8a70e19aba35a8f"><td class="memItemLeft" align="right" valign="top"><a id="a011be36679bd1704b8a70e19aba35a8f"></a>
MUTILS_API const ArgumentMap &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>arguments</b> (void)</td></tr>
<tr class="separator:a011be36679bd1704b8a70e19aba35a8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54c3188b7166b298706939d1e40aef3e"><td class="memItemLeft" align="right" valign="top"><a id="a54c3188b7166b298706939d1e40aef3e"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>copy_file</b> (const QString &amp;sourcePath, const QString &amp;outputPath, const bool &amp;overwrite=true, const progress_callback_t callback=NULL, void *const userData=NULL)</td></tr>
<tr class="separator:a54c3188b7166b298706939d1e40aef3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af546cbe117457e075e1068e40914efd5"><td class="memItemLeft" align="right" valign="top"><a id="af546cbe117457e075e1068e40914efd5"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>get_file_version</b> (const QString fileName, quint16 *const major=NULL, quint16 *const minor=NULL, quint16 *const patch=NULL, quint16 *const build=NULL)</td></tr>
<tr class="separator:af546cbe117457e075e1068e40914efd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9699dd5636663289bdf1fd5ef153bbc9"><td class="memItemLeft" align="right" valign="top"><a id="a9699dd5636663289bdf1fd5ef153bbc9"></a>
MUTILS_API const <a class="el" href="../../d1/d7d/namespace_m_utils_1_1_o_s_1_1_version.html#a199c9376f9941b2ec9721eab0b544da0">Version::os_version_t</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>os_version</b> (void)</td></tr>
<tr class="separator:a9699dd5636663289bdf1fd5ef153bbc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4de8256ab4a269f5036d5cf873550be1"><td class="memItemLeft" align="right" valign="top"><a id="a4de8256ab4a269f5036d5cf873550be1"></a>
MUTILS_API const char *&#160;</td><td class="memItemRight" valign="bottom"><b>os_friendly_name</b> (const <a class="el" href="../../d1/d7d/namespace_m_utils_1_1_o_s_1_1_version.html#a199c9376f9941b2ec9721eab0b544da0">MUtils::OS::Version::os_version_t</a> &amp;os_version)</td></tr>
<tr class="separator:a4de8256ab4a269f5036d5cf873550be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9b386b6e44ec9584a01ff9a8612f573"><td class="memItemLeft" align="right" valign="top"><a id="aa9b386b6e44ec9584a01ff9a8612f573"></a>
MUTILS_API const bool &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>running_on_wine</b> (void)</td></tr>
<tr class="separator:aa9b386b6e44ec9584a01ff9a8612f573"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab76cf63d91b34f34f50f218563cf6c75"><td class="memItemLeft" align="right" valign="top"><a id="ab76cf63d91b34f34f50f218563cf6c75"></a>
MUTILS_API const QString &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>known_folder</b> (<a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a62a1b72ba9a7accee438d19212785e54">known_folder_t</a> folder_id)</td></tr>
<tr class="separator:ab76cf63d91b34f34f50f218563cf6c75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a186c34bfd3d6256af637635009faf4ea"><td class="memItemLeft" align="right" valign="top"><a id="a186c34bfd3d6256af637635009faf4ea"></a>
MUTILS_API QDate&#160;</td><td class="memItemRight" valign="bottom"><b>current_date</b> (void)</td></tr>
<tr class="separator:a186c34bfd3d6256af637635009faf4ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bbfd16627ced25cd18eadee7618b2e6"><td class="memItemLeft" align="right" valign="top"><a id="a1bbfd16627ced25cd18eadee7618b2e6"></a>
MUTILS_API quint64&#160;</td><td class="memItemRight" valign="bottom"><b>current_file_time</b> (void)</td></tr>
<tr class="separator:a1bbfd16627ced25cd18eadee7618b2e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a558f20a4975d10af0dae87530dcd3bda"><td class="memItemLeft" align="right" valign="top"><a id="a558f20a4975d10af0dae87530dcd3bda"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_elevated</b> (bool *bIsUacEnabled=NULL)</td></tr>
<tr class="separator:a558f20a4975d10af0dae87530dcd3bda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e917b2293de394c591f6d35e0ce0c78"><td class="memItemLeft" align="right" valign="top"><a id="a8e917b2293de394c591f6d35e0ce0c78"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>user_is_admin</b> (void)</td></tr>
<tr class="separator:a8e917b2293de394c591f6d35e0ce0c78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09e0506f5a5eae04f01d1d1d095375c0"><td class="memItemLeft" align="right" valign="top">MUTILS_API int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a09e0506f5a5eae04f01d1d1d095375c0">network_status</a> (void)</td></tr>
<tr class="memdesc:a09e0506f5a5eae04f01d1d1d095375c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check the network status.  <a href="#a09e0506f5a5eae04f01d1d1d095375c0">More...</a><br /></td></tr>
<tr class="separator:a09e0506f5a5eae04f01d1d1d095375c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87d5c8ed67e802c06009ebe488515c66"><td class="memItemLeft" align="right" valign="top"><a id="a87d5c8ed67e802c06009ebe488515c66"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>handle_os_message</b> (const void *const message, long *result)</td></tr>
<tr class="separator:a87d5c8ed67e802c06009ebe488515c66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5496e72e4bbe987ce8154438c8bbe20a"><td class="memItemLeft" align="right" valign="top">MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a5496e72e4bbe987ce8154438c8bbe20a">sleep_ms</a> (const size_t &amp;duration)</td></tr>
<tr class="memdesc:a5496e72e4bbe987ce8154438c8bbe20a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Suspend calling thread.  <a href="#a5496e72e4bbe987ce8154438c8bbe20a">More...</a><br /></td></tr>
<tr class="separator:a5496e72e4bbe987ce8154438c8bbe20a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74991778f00d57bf75169d54efe5fc6a"><td class="memItemLeft" align="right" valign="top"><a id="a74991778f00d57bf75169d54efe5fc6a"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_executable_file</b> (const QString &amp;path)</td></tr>
<tr class="separator:a74991778f00d57bf75169d54efe5fc6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a969ef01c03d623e7a551ab8dfa2c6ed1"><td class="memItemLeft" align="right" valign="top"><a id="a969ef01c03d623e7a551ab8dfa2c6ed1"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_library_file</b> (const QString &amp;path)</td></tr>
<tr class="separator:a969ef01c03d623e7a551ab8dfa2c6ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fe8440363edcfc954b82559476b0c50"><td class="memItemLeft" align="right" valign="top"><a id="a4fe8440363edcfc954b82559476b0c50"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_hibernation_supported</b> (void)</td></tr>
<tr class="separator:a4fe8440363edcfc954b82559476b0c50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b5d76d886ba97d317c8de9ab99e3d8b"><td class="memItemLeft" align="right" valign="top"><a id="a3b5d76d886ba97d317c8de9ab99e3d8b"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>shutdown_computer</b> (const QString &amp;message, const unsigned long timeout, const bool forceShutdown, const bool hibernate)</td></tr>
<tr class="separator:a3b5d76d886ba97d317c8de9ab99e3d8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f73ef0fdb95f1c7b59463cdc4e4e3e7"><td class="memItemLeft" align="right" valign="top"><a id="a9f73ef0fdb95f1c7b59463cdc4e4e3e7"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>free_diskspace</b> (const QString &amp;path, quint64 &amp;freeSpace)</td></tr>
<tr class="separator:a9f73ef0fdb95f1c7b59463cdc4e4e3e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47b63d88b79bc692c53a9f2fd82ca11b"><td class="memItemLeft" align="right" valign="top">MUTILS_API <a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480c">drive_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a47b63d88b79bc692c53a9f2fd82ca11b">get_drive_type</a> (const QString &amp;path, bool *fast_seeking=NULL)</td></tr>
<tr class="memdesc:a47b63d88b79bc692c53a9f2fd82ca11b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detect drive type.  <a href="#a47b63d88b79bc692c53a9f2fd82ca11b">More...</a><br /></td></tr>
<tr class="separator:a47b63d88b79bc692c53a9f2fd82ca11b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8768270362c7c933c50f6b2370ff3a2"><td class="memItemLeft" align="right" valign="top"><a id="ae8768270362c7c933c50f6b2370ff3a2"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>shell_open</b> (const QWidget *parent, const QString &amp;url, const bool explore=false)</td></tr>
<tr class="separator:ae8768270362c7c933c50f6b2370ff3a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d1ab4e278003d69924af330616f9b2a"><td class="memItemLeft" align="right" valign="top"><a id="a8d1ab4e278003d69924af330616f9b2a"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>shell_open</b> (const QWidget *parent, const QString &amp;url, const QString &amp;parameters, const QString &amp;directory, const bool explore=false)</td></tr>
<tr class="separator:a8d1ab4e278003d69924af330616f9b2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ee4959eebd2faf30bdf023b098dcf4b"><td class="memItemLeft" align="right" valign="top"><a id="a5ee4959eebd2faf30bdf023b098dcf4b"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>open_media_file</b> (const QString &amp;mediaFilePath)</td></tr>
<tr class="separator:a5ee4959eebd2faf30bdf023b098dcf4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad05797a62e0c29ac6752b9d69209dbd9"><td class="memItemLeft" align="right" valign="top"><a id="ad05797a62e0c29ac6752b9d69209dbd9"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>change_process_priority</b> (const int priority)</td></tr>
<tr class="separator:ad05797a62e0c29ac6752b9d69209dbd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05f7e04c25f409919b9922b6171896a4"><td class="memItemLeft" align="right" valign="top"><a id="a05f7e04c25f409919b9922b6171896a4"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>change_process_priority</b> (const QProcess *proc, const int priority)</td></tr>
<tr class="separator:a05f7e04c25f409919b9922b6171896a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c2285a69b81c1d2f9da37c145de8d44"><td class="memItemLeft" align="right" valign="top"><a id="a3c2285a69b81c1d2f9da37c145de8d44"></a>
MUTILS_API quint32&#160;</td><td class="memItemRight" valign="bottom"><b>process_id</b> (void)</td></tr>
<tr class="separator:a3c2285a69b81c1d2f9da37c145de8d44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a805af06017fa5bd299af1d1d7edb26d1"><td class="memItemLeft" align="right" valign="top"><a id="a805af06017fa5bd299af1d1d7edb26d1"></a>
MUTILS_API quint32&#160;</td><td class="memItemRight" valign="bottom"><b>process_id</b> (const QProcess *const proc)</td></tr>
<tr class="separator:a805af06017fa5bd299af1d1d7edb26d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c804a4d9afe410bf34496f00b75089e"><td class="memItemLeft" align="right" valign="top"><a id="a2c804a4d9afe410bf34496f00b75089e"></a>
MUTILS_API quint32&#160;</td><td class="memItemRight" valign="bottom"><b>thread_id</b> (void)</td></tr>
<tr class="separator:a2c804a4d9afe410bf34496f00b75089e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa663f5b2f142e1b210ca4ce85636a703"><td class="memItemLeft" align="right" valign="top"><a id="aa663f5b2f142e1b210ca4ce85636a703"></a>
MUTILS_API quint32&#160;</td><td class="memItemRight" valign="bottom"><b>thread_id</b> (const QProcess *const proc)</td></tr>
<tr class="separator:aa663f5b2f142e1b210ca4ce85636a703"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac062d0305baaba193932a6f855d4aa7c"><td class="memItemLeft" align="right" valign="top"><a id="ac062d0305baaba193932a6f855d4aa7c"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>suspend_process</b> (const QProcess *proc, const bool suspend)</td></tr>
<tr class="separator:ac062d0305baaba193932a6f855d4aa7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff89343017796107bba144b2402a5b63"><td class="memItemLeft" align="right" valign="top"><a id="aff89343017796107bba144b2402a5b63"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>setup_timer_resolution</b> (const quint32 &amp;interval=1)</td></tr>
<tr class="separator:aff89343017796107bba144b2402a5b63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d988732cbff50efd0f0bf5846b13ecc"><td class="memItemLeft" align="right" valign="top"><a id="a0d988732cbff50efd0f0bf5846b13ecc"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>reset_timer_resolution</b> (const quint32 &amp;interval=1)</td></tr>
<tr class="separator:a0d988732cbff50efd0f0bf5846b13ecc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a1a887e918be955598fd0eccd838b8e"><td class="memItemLeft" align="right" valign="top"><a id="a8a1a887e918be955598fd0eccd838b8e"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>set_file_time</b> (const QFile &amp;file, const QDateTime &amp;created=QDateTime(), const QDateTime &amp;modified=QDateTime(), const QDateTime &amp;accessed=QDateTime())</td></tr>
<tr class="separator:a8a1a887e918be955598fd0eccd838b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6f2a52d1bfeee022c0f8ee407736d13"><td class="memItemLeft" align="right" valign="top"><a id="ad6f2a52d1bfeee022c0f8ee407736d13"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>set_file_time</b> (const QString &amp;path, const QDateTime &amp;created=QDateTime(), const QDateTime &amp;modified=QDateTime(), const QDateTime &amp;accessed=QDateTime())</td></tr>
<tr class="separator:ad6f2a52d1bfeee022c0f8ee407736d13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a311c1371e1f1d75296f82caf60d4fd6b"><td class="memItemLeft" align="right" valign="top"><a id="a311c1371e1f1d75296f82caf60d4fd6b"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>check_key_state_esc</b> (void)</td></tr>
<tr class="separator:a311c1371e1f1d75296f82caf60d4fd6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d6d02a26f3588c41db816eb75940817"><td class="memItemLeft" align="right" valign="top"><a id="a0d6d02a26f3588c41db816eb75940817"></a>
MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><b>shell_change_notification</b> (void)</td></tr>
<tr class="separator:a0d6d02a26f3588c41db816eb75940817"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77d68a73d43e70a6c63b100f8e8258cb"><td class="memItemLeft" align="right" valign="top"><a id="a77d68a73d43e70a6c63b100f8e8258cb"></a>
MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><b>get_file_path</b> (const int &amp;fd)</td></tr>
<tr class="separator:a77d68a73d43e70a6c63b100f8e8258cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42625342563665f192985e498538dca1"><td class="memItemLeft" align="right" valign="top"><a id="a42625342563665f192985e498538dca1"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>wow64fsredir_disable</b> (void *oldValue)</td></tr>
<tr class="separator:a42625342563665f192985e498538dca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb3f90b82e5496f5c92abf66c8769869"><td class="memItemLeft" align="right" valign="top"><a id="abb3f90b82e5496f5c92abf66c8769869"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>wow64fsredir_revert</b> (void *oldValue)</td></tr>
<tr class="separator:abb3f90b82e5496f5c92abf66c8769869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33d06cfc9ed30f660685ab15188d23f2"><td class="memItemLeft" align="right" valign="top"><a id="a33d06cfc9ed30f660685ab15188d23f2"></a>
MUTILS_API QString&#160;</td><td class="memItemRight" valign="bottom"><b>get_envvar</b> (const QString &amp;name)</td></tr>
<tr class="separator:a33d06cfc9ed30f660685ab15188d23f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fe50bd7b4a9332b33fc505c0bebf74a"><td class="memItemLeft" align="right" valign="top"><a id="a7fe50bd7b4a9332b33fc505c0bebf74a"></a>
MUTILS_API bool&#160;</td><td class="memItemRight" valign="bottom"><b>set_envvar</b> (const QString &amp;name, const QString &amp;value)</td></tr>
<tr class="separator:a7fe50bd7b4a9332b33fc505c0bebf74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d3e65333d995747c4a0702817552b21"><td class="memItemLeft" align="right" valign="top"><a id="a1d3e65333d995747c4a0702817552b21"></a>
MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><b>check_debugger</b> (void)</td></tr>
<tr class="separator:a1d3e65333d995747c4a0702817552b21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ce69f50dc39f029edb18ee46d940df4"><td class="memItemLeft" align="right" valign="top"><a id="a4ce69f50dc39f029edb18ee46d940df4"></a>
MUTILS_API void&#160;</td><td class="memItemRight" valign="bottom"><b>fatal_exit</b> (const wchar_t *const errorMessage)</td></tr>
<tr class="separator:a4ce69f50dc39f029edb18ee46d940df4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="../../d3/da6/namespace_m_utils.html" title="Global MUtils namespace. ">MUtils</a> OS-specific functions namespace. </p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="af8d3f37b0e9c3b73dfcf7d1f237d480c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8d3f37b0e9c3b73dfcf7d1f237d480c">&sect;&nbsp;</a></span>drive_type_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480c">MUtils::OS::drive_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This enumeration specifies drive types. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af8d3f37b0e9c3b73dfcf7d1f237d480ca56b9d51a60c9df7d4ec47e917218b153"></a>DRIVE_TYPE_ERR&#160;</td><td class="fielddoc"><p>The drive type cannot be determined. </p>
</td></tr>
<tr><td class="fieldname"><a id="af8d3f37b0e9c3b73dfcf7d1f237d480ca244c1b3fa78d134bf18cc39fb0cc0877"></a>DRIVE_TYPE_FDD&#160;</td><td class="fielddoc"><p>Floppy Drive, or Flash Card reader. </p>
</td></tr>
<tr><td class="fieldname"><a id="af8d3f37b0e9c3b73dfcf7d1f237d480ca14a1e51fa7603f7970ce94fdaf658f45"></a>DRIVE_TYPE_HDD&#160;</td><td class="fielddoc"><p>Hard Disk drive or Solid-State Drive. </p>
</td></tr>
<tr><td class="fieldname"><a id="af8d3f37b0e9c3b73dfcf7d1f237d480caf4b8f61bae5c8602e2f1e68ef88f06a2"></a>DRIVE_TYPE_NET&#160;</td><td class="fielddoc"><p>Remote/Network drive. </p>
</td></tr>
<tr><td class="fieldname"><a id="af8d3f37b0e9c3b73dfcf7d1f237d480cab4fa63f34e252cce2176d51b36f0c827"></a>DRIVE_TYPE_OPT&#160;</td><td class="fielddoc"><p>Optical disk srive, e.g. CD or DVD. </p>
</td></tr>
<tr><td class="fieldname"><a id="af8d3f37b0e9c3b73dfcf7d1f237d480ca42b280153a22e6af73fe7edfbbaee69b"></a>DRIVE_TYPE_RAM&#160;</td><td class="fielddoc"><p>RAM disk. </p>
</td></tr>
</table>

</div>
</div>
<a id="a62a1b72ba9a7accee438d19212785e54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62a1b72ba9a7accee438d19212785e54">&sect;&nbsp;</a></span>known_folder_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a62a1b72ba9a7accee438d19212785e54">MUtils::OS::known_folder_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This enumeration specifies "known" folder identifiers. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a62a1b72ba9a7accee438d19212785e54a0fb64b1e975f9ff0cc97df6e3b7f8110"></a>FOLDER_LOCALAPPDATA&#160;</td><td class="fielddoc"><p>Local application data (non-roaming) </p>
</td></tr>
<tr><td class="fieldname"><a id="a62a1b72ba9a7accee438d19212785e54abb6f5bd0b6564b2f093f5a2d1c055183"></a>FOLDER_PROGRAMFILES&#160;</td><td class="fielddoc"><p>Program files. </p>
</td></tr>
<tr><td class="fieldname"><a id="a62a1b72ba9a7accee438d19212785e54a7c25655022efd34417acfaa11f8491b3"></a>FOLDER_SYSTEMFOLDER&#160;</td><td class="fielddoc"><p>System directory. </p>
</td></tr>
<tr><td class="fieldname"><a id="a62a1b72ba9a7accee438d19212785e54af32b4c27ec428ad2bf69d8c8802de21c"></a>FOLDER_SYSTROOT_DIR&#160;</td><td class="fielddoc"><p>System "root" directory. </p>
</td></tr>
</table>

</div>
</div>
<a id="a0005b2a3f0289c1078c9cc8ba5ccba45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0005b2a3f0289c1078c9cc8ba5ccba45">&sect;&nbsp;</a></span>network_type_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a0005b2a3f0289c1078c9cc8ba5ccba45">MUtils::OS::network_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This enumeration specifies network connection types. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0005b2a3f0289c1078c9cc8ba5ccba45af3ce4c3003fa7cc9e3b774669b8ab6e9"></a>NETWORK_TYPE_ERR&#160;</td><td class="fielddoc"><p>Network connection is unknown. </p>
</td></tr>
<tr><td class="fieldname"><a id="a0005b2a3f0289c1078c9cc8ba5ccba45ab81e893484ac0d201a9f54e2af0563dc"></a>NETWORK_TYPE_NON&#160;</td><td class="fielddoc"><p>Computer is <b>not</b> connected to a network. </p>
</td></tr>
<tr><td class="fieldname"><a id="a0005b2a3f0289c1078c9cc8ba5ccba45a9ed5ecd6b286fa5ec2e23e652dac8769"></a>NETWORK_TYPE_YES&#160;</td><td class="fielddoc"><p>Computer <em>is</em> connected to a network. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a47b63d88b79bc692c53a9f2fd82ca11b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47b63d88b79bc692c53a9f2fd82ca11b">&sect;&nbsp;</a></span>get_drive_type()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MUTILS_API <a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480c">drive_type_t</a> MUtils::OS::get_drive_type </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>fast_seeking</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Detect drive type. </p>
<p>This function detetcs the type of the drive to which the given path is pointing.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>The path to the drive whose type is to be detected. On the Windows platform, only the drive letter is relevant.</td></tr>
    <tr><td class="paramname">fast_seeking</td><td>Pointer to a variable that will be set to TRUE, if the drive supports "fast" seeking (e.g. SSD or similar device), or to FALSE otherwise. This parameter is optional and may be NULL.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The function returns the type of the drive as a <code><a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#af8d3f37b0e9c3b73dfcf7d1f237d480c" title="This enumeration specifies drive types. ">OS::drive_type_t</a></code> value. In case of error, the value <code>DRIVE_TYPE_ERR</code> will be returned. </dd></dl>

</div>
</div>
<a id="a09e0506f5a5eae04f01d1d1d095375c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09e0506f5a5eae04f01d1d1d095375c0">&sect;&nbsp;</a></span>network_status()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MUTILS_API int MUtils::OS::network_status </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check the network status. </p>
<p>Checks whether the computer is <em>currently</em> connected to a network. Note that an existing network connection does <b>not</b> necessarily imply actual Internet access!</p>
<dl class="section return"><dt>Returns</dt><dd>The function returns the current network status as a <code><a class="el" href="../../d2/df4/namespace_m_utils_1_1_o_s.html#a0005b2a3f0289c1078c9cc8ba5ccba45" title="This enumeration specifies network connection types. ">OS::network_type_t</a></code> value. </dd></dl>

</div>
</div>
<a id="a5496e72e4bbe987ce8154438c8bbe20a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5496e72e4bbe987ce8154438c8bbe20a">&sect;&nbsp;</a></span>sleep_ms()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MUTILS_API void MUtils::OS::sleep_ms </td>
          <td>(</td>
          <td class="paramtype">const size_t &amp;&#160;</td>
          <td class="paramname"><em>duration</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Suspend calling thread. </p>
<p>This function suspends the calling thread. The thread will give up its current time-slice and enter "sleeping" state. The thread will remain in "sleeping" for the specified duration. After the specified duration has elapsed, the thread will be resumed.</p>
<p>Note that it depends on the operating system's scheduling decisions, when the thread will actually be allowed to execute again! While the thread is still in "sleeping" state, it can <b>not</b> be selected for execution by the operating system's scheduler. Once the thread is <em>no</em> longer in "sleeping" state, i.e. the specified period has elapsed, the thread <em>can</em> be selected for execution by the operating system's scheduler again - but this does <b>not</b> need to happen <em>immediately</em>! The scheduler decides which thread is allowed to execute next, taking into consideration thread priorities.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">duration</td><td>The amount of time that the thread will be suspended, in milliseconds. A value of <b>0</b> means that the thread will <em>not</em> actually enter "sleeping" state, but it will still give up its current time-slice! </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>
